# 1.什么是数据容器-一种可以储存多个元素的python数据类型
# 2.python中数据容器的类型：
# list（列表）、tuple（元组）、str（字符串）、set（集合）、dic（字典）
#list[🐖储存不同类型信息，可修改]
#tuple（🐏储存不同类型信息，不可修改）

#列表的下标索引用于取出对应位置元素：语法：列表[下标索引] --也可反向索引最后一个从-1依次递减  eg；
# list1=['T','L','R']
# print(list1[0])
# print(list1[-1])
#❗注意索引不能超出范围，否则会报错
#如果是列表嵌套列表，也可以利用下标索引
# list=[["L",'c'],['M','N']]
# print(list[1][0])
#外层第一个列表↑  ↑为外层第一列表内0号元素

# 列表功能（方法）
# list=['i',"t",'p','o','i']
# 1列表的查询--index法
# (下标索引)功能--语法；列表.index（元素）   找不到报错valueerror
# index=list.index("p")
# print(f'p在列表中的下标索引是：{index}')
# #如果元素不存在，报错--eg：
# index=list.index("h")
# print(f'h在列表中的下标索引是：{index}')
# 2插入元素--
# 语法：列表.insert(下标，元素)，在❗指定下标位置，插入指定的元素
# list.insert(0,"pig")
# print(list)
# 语法：列表.append(元素),在列表尾部加入❗‘单个’❗新元素
# list=[]
# list.append("k")
# print(list)
# 语法：列表.extend(❗其它数据容器)，在❗· 列表尾部追加一堆元素
# list.extend(['1',"2",'3','4'])
# print(list)
# 3删除元素
#通过指定下标删除元素
#  语法1：del列表[下标]
# del list[2]
# print(list)
#   语法2:列表.pop(下标)
# list.pop(3)
# print(list)
#通过指定元素先删除列表中出现的第一个指定元素
# 语法:列表.remove('i')
# list.remove('i')
# print(list)
# 3清空列表-清空整个列表
#语法；列表.clear()
# list.clear()
# print(list)
# 4修改元素--修改特定位置元素值；语法：列表[下标]=值
# list[0]='happy'
# print(list)
# 5统计某个元素个数
# 语法；列表.count(元素)
# list=['i',"t",'p','o','i']
# print(list.count("i"))
# 6统计列表内全部元素的个数
# #语法：len（列表）
# list=['i',"t",'p','o','i']
# count=len(list)
# print(f"列表list一共有{count}个元素")
#
# 列表.append(元素)       向列表中追加一个元素
# 列表.extend(容器)       将数据容器的内容依次取出，追加到列表尾部
# 列表.insert(下标, 元素)  在指定下标处，插入指定的元素
# del 列表[下标]          删除列表指定下标元素
# 列表.pop(下标)          删除列表指定下标元素
# 列表.remove(元素)       从前向后，删除此元素第一个匹配项
# 列表.clear()           清空列表
# 列表.count(元素)        统计此元素在列表中出现的次数
# 列表.index(元素)        查找指定元素在列表的下标找不到报错ValueError
# len(列表)              统计容器内有多少元素

# 课后习题
# 有一个列表，内容是:[21,25,21,23,22,20]，记录的是一批学生的年龄
# 请通过列表的功能(方法)，对其进行
# 1.定义这个列表，并用变量接收它
# 2.追加一个数字31，到列表的尾部
# 3.追加一个新列表[29,33,30]到列表的尾部
# 4.取出第一个元素(应是: 21)
# 5.取出最后一个元素(应是:30)
# 6.查找元素31，在列表中的下标位置
# list=[21,25,21,23,22,20]
# h=list
# h.append(31)
# h.extend([29,33,30])
# print(h[0])
# print(h[-1])
# list.index(31)
# print(list.index(31))
# print(list)

#列表的遍历方法：For循环&While循环

#While循环遍历列表--语法：
# index=0
# while index <len(列表):
#     元素=列表[index]
#     对元素进行处理
#     index+=1
# # eg：
# list=["a","b","c"]
# index=0#定义变量标记列表下标，初始值=0
# while index<len(list):#设置循环条件
#     element=list[index]
#     print(f"列表的元素：{element}")
#     index+=1#每次循环+1
#
# #For循环遍历列表--语法：
# # for 临时变量 in 数据容器:
# #     对临时变量进行处理
# for x in list:
#     print(f"列表元素{x}")

#使用for循环遍历列表的函数
# def list_for_func():
#     """
#     使用for循环遍历列表的函数
#     :return:None
#     """
#     list=["a","b","c"]
#     for element in list:
#         print(f'列表的元素有：{element}')
# list_for_func()

# for循环和while对比
# for循环更简单，while更灵活
# for用于从容器内❗依次❗取出元素并处理，while用以任何需要循环的场景

# 练习案例:取出列表内的偶数
# 定义一个列表，内容是:[1,2,3,4,5,6,7,8,9,10]
# 遍历列表，取出列表内的偶数，并存入一个新的列表对象中
# 使用while循环和for循环各操作一次0
# D:depython\python3.10,4python.exe D:/python-learn/05_数据容器/test.py
# 通过while循环，从列表:[1，2，3，4，5，6，7，8，9，10]中取出偶数，
# 组成新列表:[2，4，6，8，10]通过for循环，
# 从列表:[1，2，了，4，5，6，7，8，9，10]中取出偶数，组成新列表:[2，4，6，8，10]
#🐖while循环遍历列表
# index=0
# list1=[]#🐖定义一个列表
# list=[1,2,3,4,5,6,7,8,9,10]
# while index<len(list):
#     x=element =list[index]
#     if x%2==0:
#         print(x)
#         list1.append(x)#🐖通过列表.append,将x的所有值储存在列表里
#     index += 1#🐖控制循环次数
# print(list1)
# #🐖如何将元素装到列表里

#🐏for循环遍历列表
# list2=[]
# list=[1,2,3,4,5,6,7,8,9,10]
# for i in list:
#     if i%2==0:
#         print(f'{i}')
#         list2.append(i)
# print(list2)


列表，集合，字典，混合变量，可以存不同类型的数据





